package com.ruoyi.business.mapper;

import java.util.List;
import com.ruoyi.business.domain.JtOutboundOrder;
import com.ruoyi.business.domain.JtOutboundOrderItem;

/**
 * 出库单Mapper接口
 * 
 * @author Alan Zhang
 * @date 2025-06-19
 */
public interface JtOutboundOrderMapper 
{
    /**
     * 查询出库单
     * 
     * @param outboundOrderId 出库单主键
     * @return 出库单
     */
    public JtOutboundOrder selectJtOutboundOrderByOutboundOrderId(Long outboundOrderId);

    /**
     * 查询出库单列表
     * 
     * @param jtOutboundOrder 出库单
     * @return 出库单集合
     */
    public List<JtOutboundOrder> selectJtOutboundOrderList(JtOutboundOrder jtOutboundOrder);

    /**
     * 新增出库单
     * 
     * @param jtOutboundOrder 出库单
     * @return 结果
     */
    public int insertJtOutboundOrder(JtOutboundOrder jtOutboundOrder);

    /**
     * 修改出库单
     * 
     * @param jtOutboundOrder 出库单
     * @return 结果
     */
    public int updateJtOutboundOrder(JtOutboundOrder jtOutboundOrder);

    /**
     * 删除出库单
     * 
     * @param outboundOrderId 出库单主键
     * @return 结果
     */
    public int deleteJtOutboundOrderByOutboundOrderId(Long outboundOrderId);

    /**
     * 批量删除出库单
     * 
     * @param outboundOrderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJtOutboundOrderByOutboundOrderIds(String[] outboundOrderIds);

    /**
     * 批量删除出库单明细
     * 
     * @param outboundOrderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJtOutboundOrderItemByOutboundOrderIds(String[] outboundOrderIds);
    
    /**
     * 批量新增出库单明细
     * 
     * @param jtOutboundOrderItemList 出库单明细列表
     * @return 结果
     */
    public int batchJtOutboundOrderItem(List<JtOutboundOrderItem> jtOutboundOrderItemList);
    

    /**
     * 通过出库单主键删除出库单明细信息
     * 
     * @param outboundOrderId 出库单ID
     * @return 结果
     */
    public int deleteJtOutboundOrderItemByOutboundOrderId(Long outboundOrderId);
}
